package backpage.entity;

import com.baomidou.mybatisplus.annotation.*;
import org.apache.ibatis.type.LocalDateTypeHandler;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.Objects;

@TableName("annual_leave")
public class AnnualLeave {
    // 字段定义（与数据库映射）
    @TableId(value = "registration_id", type = IdType.AUTO)
    private Integer registrationId;

    @TableField("employee_id")
    private Integer employeeId;

    @TableField(value = "start_data_leave")
    private Date startDataLeave;

    @TableField("days_leave")
    private Integer daysLeave;

    @TableField(value = "data_apply_leave")
    private Date dataApplyLeave;

    @TableField(value = "date_operate_leave")
    private Date dateOperateLeave;

    @TableField("status")
    private Integer status;

    @TableField("operator")
    private Integer operator;

    @TableField(value = "remark", insertStrategy = FieldStrategy.IGNORED)
    private String remark;

    public AnnualLeave() {
    }

    public AnnualLeave(
            Integer registrationId,
            Integer employeeId,
            Date startDataLeave,
            Integer daysLeave,
            Date dataApplyLeave,
            Date dateOperateLeave,
            Integer status,
            Integer operator,
            String remark
    ) {
        this.registrationId = registrationId;
        this.employeeId = employeeId;
        this.startDataLeave = startDataLeave;
        this.daysLeave = daysLeave;
        this.dataApplyLeave = dataApplyLeave;
        this.dateOperateLeave = dateOperateLeave;
        this.status = status;
        this.operator = operator;
        this.remark = remark;
    }
    public Integer getRegistrationId() {
        return registrationId;
    }

    public void setRegistrationId(Integer registrationId) {
        this.registrationId = registrationId;
    }

    public Integer getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeId(Integer employeeId) {
        this.employeeId = employeeId;
    }

    public Date getStartDataLeave() {
        return startDataLeave;
    }

    public void setStartDataLeave(Date startDataLeave) {
        this.startDataLeave = startDataLeave;
    }

    public Integer getDaysLeave() {
        return daysLeave;
    }

    public void setDaysLeave(Integer daysLeave) {
        this.daysLeave = daysLeave;
    }

    public Date getDataApplyLeave() {
        return dataApplyLeave;
    }

    public void setDataApplyLeave(Date dataApplyLeave) {
        this.dataApplyLeave = dataApplyLeave;
    }

    public Date getDateOperateLeave() {
        return dateOperateLeave;
    }

    public void setDateOperateLeave(Date dateOperateLeave) {
        this.dateOperateLeave = dateOperateLeave;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getOperator() {
        return operator;
    }

    public void setOperator(Integer operator) {
        this.operator = operator;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

}